#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>
#include <vector>
#include <cstdlib>
#include <ctime>
#include <iomanip>
#include <random>
#include <algorithm>

struct Point{

    double x;

    double y;

};

double Distance(const Point& a,const Point b);

double RandomDouble(double min, double max);

void GenerateTest();

class Circle {

public:
    Point center;
    double radius;

    Circle(double x,double y,double radius):center{x,y},radius(radius){}



    Point GetArcMidpoint(double theta1,double theta2) const;

    std::vector<Point> CalculateIntersections(const Circle& other) const;
};





